1. Technical Field
Embodiments described herein relate generally to a motion vector detection device, an apparatus for detecting a motion vector and a motion vector detection method.
2. Description of the Related Art
In general, in a motion search using block matching, a current frame is divided into grid blocks, and a search for a motion vector is conducted for each block. The block in which the motion vector is searched is hereinafter referred to as a focus block. Another block with which the focus block is compared is referred to as a reference block. A frame to which the reference block belongs is a reference frame. In the block matching method, one of the reference blocks with the least (smallest) matching error with respect to the focus block is searched from a reference frame, and a relative position vector between the reference block and the focus block is detected as a motion vector. In the block matching method, a sum of squared difference (SAD) or a sum of squired difference (SSD) is often used as the matching error. The current frame is one frame of a moving image data, and should be displayed as a screen at present time by a monitor, that is TV, Personal Computer and so on. In this case, the current frame is an input frame.
When a cyclically repetitive pattern is included in the input frame, small SAD values may be calculated in some reference blocks. In the block matching using the SAD values, an incorrect motion vector may be detected. And then, there is a technique to determine whether or not the focus block includes the repetitive pattern, based on pattern analysis using horizontal and vertical projection histograms for a SAD map, in which a candidate vector and the matching error are associated with each other. The technique also corrects the incorrect motion vector using an average vector of the motion vectors that have been detected from blocks around the focus block. However, because the horizontal and vertical projection histograms are used, the determination regarding whether or not the focus block includes the repetitive pattern cannot be performed for vectors in diagonal directions, and therefore accurate motion vectors cannot be detected.
One of the objects disclosed in the present application is to provide a motion vector detection device, program for the device, or a method thereof, which is configured to determine a motion vector with minimal errors.